package club.kingyin.core;

/**
 * bean的扩展点，围绕bean初始化前后
 * @author : kingyins
 * @version : 1.0
 * @program : my-spring
 * @description : Bean后置增强器
 * @create : 2021年07月16日 15:04
 **/
public interface BeanPostProcessor {

    /**
     * bean初始化前置增强器，默认什么都不处理
     * @param bean 原始对象
     * @param beanName bean类名
     * @return bean增强对象
     */
   default Object PostProcessorBeforeInitialization(Object bean, String beanName){
       return bean;
   }

    /**
     * bean初始化后置增强器，默认什么都不处理
     * @param bean 原始对象
     * @param beanName bean类名
     * @return bean增强对象
     */
    default Object PostProcessorAfterInitialization(Object bean, String beanName) {
        return bean;
    }

}
